Motion compensated inter-frame coding has been widely adopted in various coding standards, such as MPEG-1/2/4 and H.261/H.263/H.264/AVC. While motion-compensated inter-frame coding can effectively reduce bitrate for compressed video, Intra coding is required to compress the regions with high motion or scene changes. Besides, Intra coding is also used to process an initial picture or to periodically insert I-pictures or I-blocks for random access or for alleviation of error propagation. Intraprediction exploits the spatial correlation within a picture or within a picture region. In practice, a picture or a picture region is divided into blocks and the Intra prediction is performed on a block basis. Intra prediction for a current block can rely on pixels in neighboring blocks that have been processed. For example, if blocks in a picture or picture region are processed row by row first from left to right and then from top to bottom, neighboring blocks on the top and neighboring blocks on the left of the current block can be used to form Intra prediction for pixels in the current block. While any pixels in the processed neighboring blocks can be used for Intra predictor of pixels in the current block, very often only pixels of the neighboring blocks that are adjacent to the current block boundaries on the top and on the left are used.
The Intra predictor is usually designed to exploit spatial correlation and spatial features in the picture such as smooth area (DC mode), vertical line or edge, horizontal line or edge and diagonal line or edge as disclosed in the High Efficiency Video Coding (HEVC) standard. For Intra prediction, the reconstructed samples from neighboring blocks at the block boundaries of a current block are used as predictors for the samples in the current block. For example, various prediction directions have been defined in HEVC and FIG. 1 illustrates all the prediction directions. The relationship between variable intraPredAngle and the direction indices is shown in Table 1. Each Intra direction predicts the sample at position (x, y) of one Prediction Unit (PU) according to ((32−iFact)×ref[x+iIdx+1]+iFact×ref[x+iIdx+2]+16)>>5, when the direction is relatively vertical (i.e., intraPredAngle with a corresponding direction index greater than or equal to 18). In this expression, the array ref is the decoded line buffer above the current PU, iIdx is the floor position of the pixel in ref that position (x, y) points to along the Intra direction (i.e., iIdx=((y+1)×intraPredAngle)>>5), and iFact is the distance between the floor position and the pointed position (i.e., iFact=((y+1)×intraPredAngle)&31).
TABLE 1predModeIntra123456789101112intraPredAngle—32262117139520−2−5predModeIntra131415161718192021222324intraPredAngle−9−13−17−21−26−32−26−21−17−13−9−5predModeIntra25262728293031323334intraPredAngle−202591317212632
In the existing HEVC design, chroma components share the same chroma mode, which is selected from direct mode (DM), DC, Planar, VER (vertical), HOR (horizontal) and VER+8. DM mode has the highest priority and the shortest binarization length l, and the other four modes have equal priority with binarization length equal to 3.
Other Intra prediction methods including linear-model (LM) for chroma Intra prediction and single depth Intra mode are also disclosed after the HEVC. Single depth Intra mode is disclosed in JCT3V-H0087 (Chen et al., Single depth intra mode for 3D-HEVC, Joint Collaborative Team on 3D Video Coding Extensions of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 8th Meeting: Valencia, ES, 29 March-4 Apr. 2014, Document: JCT3V-H0087). According to JCT3V-H0087, the single depth Intra mode utilizes one predicted value from neighboring reconstructed samples as the prediction values for all inside samples without transmitting the prediction residuals. LM chroma Intra prediction are disclosed in JCTVC-L0240 (Kim, et al., AHG7: The performance of extended intra chroma prediction for non 4:2:0 format, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 12th Meeting: Geneva, CH, 14-23 Jan. 2013, Document: JCTVC-L0240) and JCTVC-M0116 (JCTVC-M0116: Chet et al., Non-RCE1: Multiple LM chroma modes, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 13th Meeting: Incheon, K R, 18-26 Apr. 2013, Document: JCTVC-M0116). LM chroma Intra prediction predicts chroma data from luma data using a linear model. LM chroma mode predicts chroma samples by using reconstructed luma samples with a linear model to improve the coding efficiency of HEVC. In the LM chroma Intra prediction mode, the chroma sample V in a current chroma block is predicted by its corresponding reconstructed luma sample Vcol of the coding unit according to a linear model. The predictor P for V can be represented byP=a·Vcol+b,  (1)where a and b are LM parameters.
These LM parameters are derived from the reconstructed luma and chroma samples around the current block. Often, Linear Least Squares procedure is used to derive the LM parameters. After deriving the LM parameters, chroma predictors can be generated according to the linear model and the reconstructed luma samples of the current coding unit. For example, if the video format is YUV420 (also referred to as YCrCb 420), there are one 8×8 luma block and two 4×4 chroma blocks for each 8×8 coding unit as shown in FIG. 2, where each square corresponds to one sample. The reconstructed neighboring luma (i.e., Y) samples and the reconstructed neighboring chroma (i.e., Cr or Cb) samples, which are shown in circles, are used to derive respective LM parameters (210, 220). For the YCrCb 420, the chroma position is located between the two vertical luma samples. Therefore, an average value between every two vertical luma samples at the left block boundary is used to derive the LM parameters. At the top block boundary, in order to reduce the line buffer requirement, one of every two samples immediately above the block boundary is used to derive the LM parameters. After the LM parameters are derived, the derived LM parameters are used to form respective predictors (i.e., Cr or Cb predictors) based on reconstructed luma samples in the current coding unit. The locations of the 4×4 luma samples of the current coding unit for predicting the 4×4 chroma samples of the current coding unit are shown in FIG. 2, where the sample at each location corresponds to the average of two consecutive luma samples in the vertical direction.
While the neighboring samples for deriving the LM model are from the top boundary and the left boundary as shown in FIG. 2, the neighboring samples for deriving the LM model may also be selected from top side or left side only. FIGS. 3A-3C illustrate three LM chroma prediction modes, denoted as Top+Left LM mode, Left-Only LM mode and Top-Only LM mode. There modes are collectively referred to as Multi-LM chroma modes, or simply referred as LM modes.
In the above Intra prediction methods mentioned, luma and chroma components can have different Intra prediction modes by using different syntax elements transmitted in the bitstream for luma and chroma coding blocks. However, different chroma components associated with one coding unit must utilize the same prediction mode. Table 2 illustrates the related syntax table for HEVC Intra prediction mode, where only one flag indicating chroma Intra prediction mode, i.e., intra_chroma_pred_mode[x0][y0] is utilized for both Cb and Cr chroma components as indicated by Note (2-1).
TABLE 2Noteif( CuPredMode[ x0 ][ y0 ] = = MODE_INTRA ) {  . . . . . . if( pcm_flag[ x0 ][ y0 ] ) {   . . . . . . } else {   . . . . . .   intra_chroma_pred_mode[ x0 ][ y0 ] (2-1)      }} else {   . . . . . .    }
Therefore, different chroma blocks associated with a same coding unit have to use the same chroma Intra prediction mode according to the existing practice. However, the different chroma blocks may have different characteristics. Forcing different chroma blocks associated with a coding unit to use the same chroma Intra prediction mode may degrade the potential coding performance. Therefore, it is desirable to develop new chroma Intra prediction techniques to improve performance.